package com.mmq.ets.modele;

import java.awt.Color;
import java.awt.Graphics;
/**
Cette classe possède les configurations de base une ellipse ou ovale
@author Francisco Quilodran Chavez
@version 1.1
*/
public class Ovale extends AbstractForme
{
	private int diametreHorizontale;
	private int diametreVerticale;
	/**
	 * Constructeur par default
	 */
	public Ovale()
	{
		this.setCouleur(Color.cyan);
	}
	/**
	 * 
	 * @param nseq numéro d'identification
	 * @param centreX point du centre x
	 * @param centreY point du centre y
	 * @param rayonH rayon horizontale
	 * @param rayonV rayon verticale
	 */
	public Ovale(int nseq,int pointDepartX, int pointDepartY,int rayonH,int rayonV) 
	{
		super(nseq,pointDepartX, pointDepartY);
		this.diametreHorizontale=rayonH*2;
		this.diametreVerticale=rayonV*2;
		this.setCouleur(new Color(1f, 0f, 1f, 0.7f));
	}
	/**
	 * Dessine une ellipse à l'aide de «fillOval»
	 * @see Graphics.fillOval
	 */
	@Override
	public void dessinerForme(Graphics g) 
	{
		g.setColor(this.getCouleur());
		g.fillOval(this.getPointDepartX(), this.getPointDepartY(), diametreHorizontale, diametreVerticale);
		g.setColor(Color.black);
		g.drawRect(this.getPointDepartX(), this.getPointDepartY(), diametreHorizontale, diametreVerticale);
	}
	@Override
	public double getAire() 
	{
		return Math.PI*(this.diametreHorizontale/2)*(this.diametreVerticale/2);
	}
	@Override
	public double getDistanceMaximale() 
	{
		return (diametreHorizontale>diametreVerticale)?diametreHorizontale:diametreVerticale;
	}
	@Override
	public double getHauteur() 
	{
		return diametreVerticale;
	}
	@Override
	public double getLargeur() 
	{
		return diametreHorizontale;
	}

}
